package com.yequan.work;

import com.alibaba.fastjson.JSONObject;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author yequan
 * @date 2021/08/25 21:59
 **/
public class Ride implements Serializable {
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    private Long id;

    private Long parentRideId;

    private Integer initiatorUserId;

    private Integer initiatorTripId;

    private Integer initiatorMapLineId;

    private Integer driverUserId;

    private Integer notifyDriversQuantity;

    private Long majorOrderId;

    private BigDecimal suggestPrice;

    private BigDecimal price;

    private BigDecimal driverReceivedPrice;

    private String initiatorComment;

    private String initiatorType;

    private Date planStartTime;

    private Date createTime;

    private Date driverStartTime;

    private Date rideOnTime;

    private Date rideOffTime;

    private Date cancelTime;

    private String status;

    private String cancelReason;

    private Date replyTime;

    private Integer driverBeReviewed;

    private Integer passengerBeReviewed;

    private Date updateTime;

    private Integer rideType;

    private Integer asDriverReviewScore;

    private Integer asPassengerReviewScore;

    private Integer personNum;

    private Integer timeType;

    private String extra;

    private Byte reservedF1;

    private String reservedF2;

    private String reservedF3;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getParentRideId() {
        return parentRideId;
    }

    public void setParentRideId(Long parentRideId) {
        this.parentRideId = parentRideId;
    }

    public Integer getInitiatorUserId() {
        return initiatorUserId;
    }

    public void setInitiatorUserId(Integer initiatorUserId) {
        this.initiatorUserId = initiatorUserId;
    }

    public Integer getInitiatorTripId() {
        return initiatorTripId;
    }

    public void setInitiatorTripId(Integer initiatorTripId) {
        this.initiatorTripId = initiatorTripId;
    }

    public Integer getInitiatorMapLineId() {
        return initiatorMapLineId;
    }

    public void setInitiatorMapLineId(Integer initiatorMapLineId) {
        this.initiatorMapLineId = initiatorMapLineId;
    }

    public Integer getDriverUserId() {
        if (driverUserId != null && driverUserId == 0) {
            driverUserId = null;
        }
        return driverUserId;
    }

    public void setDriverUserId(Integer driverUserId) {
        this.driverUserId = driverUserId;
    }

    public Integer getNotifyDriversQuantity() {
        return notifyDriversQuantity;
    }

    public void setNotifyDriversQuantity(Integer notifyDriversQuantity) {
        this.notifyDriversQuantity = notifyDriversQuantity;
    }

    public Long getMajorOrderId() {
        return majorOrderId;
    }

    public void setMajorOrderId(Long majorOrderId) {
        this.majorOrderId = majorOrderId;
    }

    public BigDecimal getSuggestPrice() {
        return suggestPrice;
    }

    public void setSuggestPrice(BigDecimal suggestPrice) {
        this.suggestPrice = suggestPrice;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getDriverReceivedPrice() {
        return driverReceivedPrice;
    }

    public void setDriverReceivedPrice(BigDecimal driverReceivedPrice) {
        this.driverReceivedPrice = driverReceivedPrice;
    }

    public String getInitiatorComment() {
        return initiatorComment;
    }

    public void setInitiatorComment(String initiatorComment) {
        this.initiatorComment = initiatorComment == null ? null : initiatorComment.trim();
    }

    public String getInitiatorType() {
        return initiatorType;
    }

    public void setInitiatorType(String initiatorType) {
        this.initiatorType = initiatorType == null ? null : initiatorType.trim();
    }

    public Date getPlanStartTime() {
        return planStartTime;
    }

    public void setPlanStartTime(Date planStartTime) {
        this.planStartTime = planStartTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getDriverStartTime() {
        return driverStartTime;
    }

    public void setDriverStartTime(Date driverStartTime) {
        this.driverStartTime = driverStartTime;
    }

    public Date getRideOnTime() {
        return rideOnTime;
    }

    public void setRideOnTime(Date rideOnTime) {
        this.rideOnTime = rideOnTime;
    }

    public Date getRideOffTime() {
        return rideOffTime;
    }

    public void setRideOffTime(Date rideOffTime) {
        this.rideOffTime = rideOffTime;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason == null ? null : cancelReason.trim();
    }

    public Date getReplyTime() {
        return replyTime;
    }

    public void setReplyTime(Date replyTime) {
        this.replyTime = replyTime;
    }

    public Integer getDriverBeReviewed() {
        return driverBeReviewed;
    }

    public void setDriverBeReviewed(Integer driverBeReviewed) {
        this.driverBeReviewed = driverBeReviewed;
    }

    public Integer getPassengerBeReviewed() {
        return passengerBeReviewed;
    }

    public void setPassengerBeReviewed(Integer passengerBeReviewed) {
        this.passengerBeReviewed = passengerBeReviewed;
    }

    public Integer getRideType() {
        return rideType;
    }

    public void setRideType(Integer rideType) {
        this.rideType = rideType;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getAsDriverReviewScore() {
        return asDriverReviewScore;
    }

    public void setAsDriverReviewScore(Integer asDriverReviewScore) {
        this.asDriverReviewScore = asDriverReviewScore;
    }

    public Integer getAsPassengerReviewScore() {
        return asPassengerReviewScore;
    }

    public void setAsPassengerReviewScore(Integer asPassengerReviewScore) {
        this.asPassengerReviewScore = asPassengerReviewScore;
    }

    public Integer getPersonNum() {
        return personNum;
    }

    public void setPersonNum(Integer personNum) {
        this.personNum = personNum;
    }

    public Integer getTimeType() {
        return timeType;
    }

    public void setTimeType(Integer timeType) {
        this.timeType = timeType;
    }

    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public Byte getReservedF1() {
        return reservedF1;
    }

    public void setReservedF1(Byte reservedF1) {
        this.reservedF1 = reservedF1;
    }

    public String getReservedF2() {
        return reservedF2;
    }

    public void setReservedF2(String reservedF2) {
        this.reservedF2 = reservedF2;
    }

    public String getReservedF3() {
        return reservedF3;
    }

    public void setReservedF3(String reservedF3) {
        this.reservedF3 = reservedF3;
    }

    @Override
    public String toString() {
        return "Ride [id=" + id + ", parentRideId=" + parentRideId
                + ", initiatorUserId=" + initiatorUserId + ", initiatorTripId="
                + initiatorTripId + ", initiatorMapLineId="
                + initiatorMapLineId + ", driverUserId=" + driverUserId
                + ", notifyDriversQuantity=" + notifyDriversQuantity
                + ", majorOrderId=" + majorOrderId + ", suggestPrice="
                + suggestPrice + ", price=" + price + ", driverReceivedPrice="
                + driverReceivedPrice + ", initiatorComment="
                + initiatorComment + ", initiatorType=" + initiatorType
                + ", planStartTime=" + planStartTime + ", createTime="
                + createTime + ", driverStartTime=" + driverStartTime
                + ", rideOnTime=" + rideOnTime + ", rideOffTime=" + rideOffTime
                + ", cancelTime=" + cancelTime + ", status=" + status
                + ", cancelReason=" + cancelReason + ", replyTime=" + replyTime
                + ", driverBeReviewed=" + driverBeReviewed
                + ", passengerBeReviewed=" + passengerBeReviewed
                + ", updateTime=" + updateTime + ", rideType=" + rideType
                + ", asDriverReviewScore=" + asDriverReviewScore
                + ", asPassengerReviewScore=" + asPassengerReviewScore
                + ", personNum=" + personNum + ", timeType=" + timeType
                + ", extra=" + extra + ", reservedF1=" + reservedF1
                + ", reservedF2=" + reservedF2 + ", reservedF3=" + reservedF3 + "]";
    }

}
